#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=2e5+10;
int T,n,ans,a[maxn],C[maxn];
struct node{
    int num,l,r;
}gj[maxn];
bool br[maxn],vis[maxn];
void solve1()
{
    bool rb[16];
    for(int i=0;i<(1<<n);i++)
    {
        int cnt=0,x=i;
        for(int j=1;j<=n;j++,x/=2)
            rb[j]=(x%2);
        for(int k=n;k>=1;k--)
            for(int j=k-1;j>=1;j--)
                if(!(rb[k]^rb[j]))
                {
                    if(a[k]==a[j])
                        cnt+=a[k];
                    break;
                }
        ans=max(ans,cnt);
    }
    cout<<ans<<endl;
    return;
}
bool cmp(node x,node y)
{
    return x.num<y.num;
}
bool check(int ll,int rr)
{
    if(vis[ll])
    {
        for(int i=ll+1;i<rr;i++)
            if(vis[i]&&(br[i]==br[ll]))
                return false;
    }
    else if(vis[rr])
        for(int i=rr-1;i>ll;i--)
            if(vis[i]&&(br[i]==br[rr]))
                return false;
    return true;
}
void solve2()
{
    for(int i=n;i>1;i--)
        for(int j=i-1;j>=1;j--)
            if(a[i]==a[j])
            {
                if(i==j+1)
                    gj[i].num=INT_MAX;
                else
                    gj[i].num=a[i]/(i-j-1);
                gj[i].l=j;
                gj[i].r=i;
                break;
            }
    sort(gj+1,gj+n+1,cmp);
    for(int i=n;i>=1;i--)
        if(gj[i].r==0||!(check(gj[i].l,gj[i].r)))
            continue;
        else
        {
            if(vis[gj[i].l])
                br[gj[i].r]=br[gj[i].l];
            else if(vis[gj[i].r])
                br[gj[i].l]=br[gj[i].r];
            else
                br[gj[i].l]=br[gj[i].r]=false;
            for(int j=gj[i].l;j<=gj[i].r;j++)
            {
                vis[j]=true;
                if(j!=gj[i].l&&j!=gj[i].r)
                    br[j]=!br[gj[i].l];
            }
            ans+=a[gj[i].l];
        }
    cout<<ans<<endl;
    return;
}
signed main()
{
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    cin>>T;
    while(T--)
    {
        ans=0;
        cin>>n;
        for(int i=1;i<=n;i++)
            cin>>a[i];
        if(n<=15)
            solve1();
        else if(n<=100)
            solve2();
        else
            cout<<rand()<<endl;
    }
    return 0;
}
